from django.contrib.auth.models import AbstractUser
from django.db import models
#载入时间模块
from datetime import datetime

# Create your models here.
# cl

class UserProfile(AbstractUser): #继承django自身的AbstractUser,沿用默认字段
	"""docstring for ClassName"""
	nick_name=models.CharField(max_length=50, verbose_name="昵称",default="") #增加字段昵称,默认为空
	birthday=models.DateField(verbose_name="生日", null=True, blank=True)#增加生日字段，允许null与空
	gender=models.CharField(choices=(("Male", "男"),("female","女")), max_length=6) #增加新字段，使用了choices选项
	address=models.CharField(max_length=100, default="") #地址
	mobile=models.CharField(max_length=11, null=True, blank=True) #手机
	#增加用户头像字段, image/%Y/%m代表上传时按年月文件夹进行, default设置的是默认头像路径 
	image=models.ImageField(upload_to="image/%Y/%m", default="image/default.png", max_length=100) #用户头像
	
	class Meta:
		verbose_name="用户信息" #设置userproflr这个类的别名
		verbose_name_plural=verbose_name #设置别名的复数形式

	def __str__(self):
		return self.username #当使用print打印时，把继承username字段打印出来

#邮箱表
class EmailVerifyRecord(models.Model): #邮箱验证码功能
	code=models.CharField(max_length=20, verbose_name="验证码") #邮箱验证码
	email=models.EmailField(max_length=50, verbose_name="邮箱")
	send_type=models.CharField(choices=(("register", "注册"), ("forget", "找回密码")),max_length=10, verbose_name="发送类型") # 区分是注册时使用验证码, 还是找回密码时使用  
	send_time=models.DateTimeField(default=datetime.now, verbose_name="发送时间") #验证码有时效性, 需要记录send time

	
	class Meta:
		verbose_name="邮箱验证码"  #后台会显示
		verbose_name_plural=verbose_name

	def __str__(self):
		return '{0}({1})'.format(self.code, self.email)
#主页轮播图功能
class Banner(models.Model):
	title=models.CharField(max_length=100, verbose_name="标题") #轮播标题
	image=models.ImageField(upload_to="banner/%Y/%m", verbose_name="轮播图", max_length=100) #轮播图地址
	url=models.URLField(max_length=200, verbose_name="访问地址") #轮播图的url 
	index=models.IntegerField(default=100, verbose_name="显示顺序")#轮播图的显示顺序编号
	add_time=models.DateTimeField(default=datetime.now, verbose_name="添加时间") #轮播图添加时间

	class Meta(object):
		verbose_name="轮播图"
		verbose_name_plural=verbose_name
			
		
			

		
